1 3 5 7 9
Just after "9" is printed, the NEXT ODD
statement
changes ODD
from 9 to 11.
But 11 is GREATER THAN the ending value 9, so the loop ends.
Here is the program again,
but with the ending value
changed to a value that ODD
will
never become:
' FOR ODD = 1 TO 6 STEP 2 PRINT ODD; NEXT ODD ' END
The STEP 2
means that 2 is added to ODD every time control gets to
the NEXT ODD
.
So possible values for ODD
are: 1, 3, 5, 7, 9, and so on.
The ending value 6 is never "hit" exactly.
When does the loop end?
The rule is: if the loop is counting UPWARD, the loop ends as soon as the counter IS GREATER THAN endingValue.
time --> FOR ODD = 1 TO 6 STEP 2 1 3 5 7 <-- exceeds the limit, 6, PRINT ODD; 1 3 5 so the loop stops NEXT ODD 3 5 7 ' END
So the program prints
1 3 5
as before.
Leap years occur every four years.
(Except for century years, which must be divisible by 400
in order to be leap years.)
Write a program that prints out the leap years
from 1964 to 2000.
(Hint: use a FOR
loop with a starting value of 1964.)